63020 PRINT : INPUT "SLOT OF PRINTER (0 FOR SCREEN) ";B: IF B <0 OR B >7 THEN 63020
63030 PRINT : INPUT "TURN ON PRINTER AND PRESS 'RETURN' ";A$: PRINT C$;"PR#";B: PRINT : PRINT CHR$(19)
63040 PRINT : INPUT "SET TOP OF FORM ETC. AND PRESS 'RETURN' ";A$: PRINT : CALL -936
63050 INPUT "# OF LINES AT TOP OF PAGE ";E: PRINT : INPUT "# OF LINES AT BOTTOM OF PAGE ";F: PRINT : PRINT : INPUT "LEFT MARGIN ";G: PRINT : INPUT "RIGHT MARGIN ";H:I = H -G: IF I < = 0 THEN 63050
63060 PRINT : INPUT "# OF LINES PER PAGE ";J: CALL -936: PRINT : PRINT "IF YOU PRESS ESC DURING PRINTING": PRINT "YOU MAY HALT LISTING": PRINT : INPUT "PRESS 'RETURN' TO START ";A$:A$ = ""
63070 POKE -16368,0:K = 0: PRINT CHR$(17): FOR P = 1 TO E: PRINT : NEXT
63090 A = PEEK(L +3) *256 + PEEK(L +2):A$ = STR$(A):A$ = A$ +" ": IF A <10 THEN A$ = A$ +" "
63100 IF A = >62999 THEN C = 32:L = M: GOTO 63140
63110 L = L +4
63120 C = PEEK(L): IF PEEK( -16384) >127 THEN GOTO 63420
63130 IF C >127 AND C <235 THEN GOSUB 63220: GOTO 63150
63140 A$ = A$ + CHR$(C): IF L = >M THEN PRINT : PRINT : PRINT CHR$(12): PRINT : PRINT : PRINT C$;"PR#0": PRINT : PRINT : PRINT "LISTING IS COMPLETE": PRINT : PRINT "DONE": TEXT : END
63150 IF L +1 = N THEN 63180
63160 IF L >N THEN PRINT "ERROR": PRINT A$: STOP
63170 L = L +1: GOTO 63120
63180 N = 256 * PEEK(N +1) + PEEK(N):L = L +1: GOTO 63340
63190 L = L +2:A$ = "":A = PEEK(L) + PEEK(L +1) *256:A$ = STR$(A):A$ = A$ +" ": IF A <10 THEN A$ = A$ +" "
63200 IF A = >62999 THEN C = 32:L = M: GOTO 63140
63210 L = L +2: GOTO 63120
63220 A$ = A$ +D$(C -127): IF D$(C -127) = "HIMEM" THEN A$ = A$ +":"
63230 IF D$(C -127) = "LOMEM" THEN A$ = A$ +":"
63240 RETURN
63250 RESTORE
63260 READ D$(1): IF PEEK(123) + PEEK(124) *256 = 63290 THEN 63280
63270 GOTO 63260
63280 FOR O = 2 TO 107: READ D$(O): NEXT : RETURN
63290 DATA END,FOR,NEXT,DATA,INPUT,DEL,DIM,READ,GR,TEXT,PR#,IN#,CALL,PLOT,HLIN,VLIN,HGR2,HGR,HCOLOR=,HPLOT,DRAW,XDRAW
63300 DATA HTAB,HOME,ROT=,SCALE=,SHLOAD,TRACE,NOTRACE,NORMAL,INVERSE,FLASH,COLOR=,POP,VTAB,HIMEM,LOMEM,ONERR
63310 DATA RESUME,RECALL,STORE,SPEED=,LET,GOTO,RUN,IF,RESTORE,&,GOSUB,RETURN,REM,STOP,ON,WAIT
63320 DATA LOAD,SAVE,DEF,POKE,PRINT,CONT,LIST,CLEAR,GET,NEW,TAB(,TO,FN,SPC(,THEN,AT,NOT,STEP,+,-,*,/,^,AND,OR,>,=,<,SGN,INT,ABS,USR,FRE,SCRN(,PDL,POS,SQR,RND
63330 DATA LOG,EXP,COS,SIN,TAN,ATN,PEEK,LEN,STR$,VAL,ASC,CHR$,LEFT$,RIGHT$,MID$
63340 IF LEN(A$) >I THEN 63390
63350 PRINT TAB( G);A$:K = K +1
63360 IF K = >J THEN GOSUB 63380: GOTO 63190
63370 GOTO 63190
63380 FOR P = 1 TO F: PRINT : NEXT : FOR P = 1 TO E: PRINT : NEXT :K = 0: RETURN
63390 B$ = A$:D = 1:A$ = LEFT$(A$,I): PRINT TAB( G);A$:K = K +1: IF K = >J THEN GOSUB 63380
63400 A$ = RIGHT$(B$, LEN(B$) -I *D): IF LEN(A$) >I THEN A$ = MID$ (B$,I *D,I): PRINT TAB( G);A$:D = D +1: GOTO 63400
63410 PRINT TAB( G);A$:K = K +D: GOTO 63360
63420 IF PEEK( -16384) = 155 THEN PRINT : PRINT : PRINT CHR$(12): PRINT : PRINT : PRINT C$;"PR#0": PRINT : PRINT : PRINT "LISTING TERMINATED": TEXT : END